<?php

session_start();
$event = new eventoModel();

//Recebe o array passado pelo script com o metodo post
extract($_POST);

//Verifica se o array dados existe
if (isset($dados)) {
    //var_dump($dados);//exibi conteudo do array, para testes
    //Inicialização da variável que irá fazer a consulta no BD
    $sql = "";

    //opções para o array dados: 
    //$dados[0]=escolhe função:0-atualizar tabela, 1-ler Numero de linhas, 2-Deletar item
    //$dados[1]=pesquisa busca pelo input digitado
    //$dados[2]=ordena a tabela
    if ($dados[0] == 0) {

        //Se o combo status for selecionado, diferente de vazio
        if ($dados[1] != "0") {
            $sql = "where tbInscricoesIdEvento = $dados[1]";

            //se o input tema estiver preenchido acrescenta LIKE à consulta sql
            if ($dados[3] != "")
                $sql = $sql . " AND tbEventoTema LIKE '%$dados[3]%'";
        }

        //para o caso do input tema estiver preenchido e o combo status nao estiver selecionado
        if ($dados[1] == "0" && $dados[3] != '') {
            $sql = $sql . "where tbEventoTema LIKE '%$dados[3]%'";
        }


        $select = 'inscricoes.* , ev.tbEventoId AS evento, ev.tbEventoTema';
        $from = "tbInscricoes AS inscricoes
        INNER JOIN tbEvento as ev ON inscricoes.tbInscricoesIdEvento = ev.tbEventoId
        $sql";

        $event->listar($select, $from);

        $sqlLinhas = "select $select from $from";
        //echo "$sqlLinhas";
        //Chama o metodo que atualiza a tabela na pagina eventos.php
        //($sql . " ORDER BY tbInscricoes$dados[3]");
        //Grava o conteudo da variavel sql para exibir a quantidade de linhas no proximo passo do script
        $_SESSION['sql'] = $sqlLinhas;
    }

    //Retorna a quantidade de linhas para ser exibido no rodapé
    if ($dados[0] == 1) {
        $sql = $_SESSION['sql'];
        echo $event->numLinhas($sql) . " registro(s) encontrado(s)";
    }

    //Executa a função del() para excluir evento com o id selecionado
    if ($dados[0] == 2) {
        $event->atualizaComboCurso($dados[1]);
    }
}

//usado para executar as funções dos formulários de inserir ou editar dados
extract($_GET);
if (isset($funcao)) {
    if ($funcao == "inserir") {
        $event->inserir();
    }
    if ($funcao == "edit") {
        $event->editar();
    }
}

class eventoModel {

    private $crud;

    public function __construct() {
        include 'conexaoMysql.php';
        $this->crud = new Crud();
    }

    function listar($select, $from) {
        $resultado = $this->crud->ler('', $select, $from);

        //Usada para fazer o efeito zebra na tabela
        $div = 0;

        //relaciona a tabela
        while ($linha = mysql_fetch_array($resultado)) {
            if ($div % 2 == 0)
                echo "<tr class=zebra0>"; else
                echo "<tr class=zebra1>"; $div++;
            echo "<td>$linha[0]</td>";
            echo "<td>$linha[tbEventoTema]</td>";
            echo "<td>$linha[2]</td>";
            echo "<td>$linha[3]</td>";
            echo "<td><a   href=inscricoesDetalhar.php?tbInscricoesId=$linha[0]><img style=vertical-align: middle src=../images/det.png> </a>
                      <a  id=s2 href=inscricoesFormEdit.php?tbInscricoesId=$linha[0]><img style=vertical-align: middle src=../images/edit.png> </a>    
                      ";
        }
    }

    //<a  onclick='confirmExclusao($linha[0])'><img style=vertical-align: middle src=../images/del.png> </a></td>
    //funcao que informa a quantidade de registros encontrados
    function numLinhas($sql) {
        //echo "$sql";
        return mysql_num_rows($this->crud->consultaLivre($sql));
    }

    function atualizaComboCurso($idEvento) {
        $dadosEvento = mysql_fetch_array($this->crud->ler('tbEvento', '*', "where tbEventoId = $idEvento"));
        echo "
            <br>
            Evento:
            <fieldset class=freq>
                $dadosEvento[1] <a href=frequencia1.php?idEvento=$dadosEvento[0] class=button>Gerenciar</a>
            </fieldset>
        ";



        $resultado = $this->crud->ler('tbCursos', '*', "where tbCursosIdEvento = $idEvento");
        echo " 
               <br>
               Sub-Eventos: ";
        while ($curs = mysql_fetch_array($resultado)) {
            echo "
                                        <fieldset class=freq>
                                    $curs[1] <a href=frequencia1.php?idCurso=$curs[0] class=button>Gerenciar</a>
                                        </fieldset>
                                    ";
        }
        echo "</select>";
    }

    function inserir() {
        extract($_POST);
        //$dtinicio = $this->crud->inverterData($tbEventoDataInicio);
        //$dtfim = $this->crud->inverterData($tbEventoDataFim);
        $this->crud->inserir('tbInscricoes', 'tbInscricoesIdUsuario,    tbInscricoesIdEvento,   tbInscricoesIdCurso', "'$comboUsuario','$comboEvento','$comboCurso'");
        header("location:index.php");
    }

    function editar() {
        extract($_POST);
        $this->crud->alterar('tbEInscricoes', "tbEventoTema =  '$tbEventoTema',    tbEventoDescricao = '$tbEventoDescricao',   tbEventoDataInicio = '$tbEventoDataInicio',
                 tbEventoDataFim = '$tbEventoDataFim',   tbEventoCidade = '$tbEventoCidade',   tbEventoEstado = '$tbEventoEstado',
                 tbEventoNumEdicao = '$tbEventoNumEdicao', tbEventoEntidadePromovedora = '$tbEventoEntidade'", "where tbEventoId = $tbEventoId");
        header("location:eventos.php");
    }

    function del() {
        $id = $_GET['tbInscricoesId'];
        $gravar = $this->crud->apagar('tbInscricoes', "where tbInscricoesId = $id");
        //header("location:eventos.php");
        if ($gravar)
            echo "<script>alert('Dados alterados com sucesso!!!'); location.href='inscricoes.php'</script>";
        else
            echo "<script>alert('Erro'); location.href='inscricoes.php'</script>";
    }

}